-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Program Dependence Graph #1227
Conversation
… set in the normal DFGPass
… in Expression Builder
…rklist.kt Co-authored-by: Christian Banse <[email protected]>
On hold until the direction of PropertyEdges stored in |
cpg-core/src/main/kotlin/de/fraunhofer/aisec/cpg/passes/ProgramDependencyGraphPass.kt
Outdated
Show resolved
Hide resolved
cpg-core/src/main/kotlin/de/fraunhofer/aisec/cpg/passes/ProgramDependencyGraphPass.kt
Outdated
Show resolved
Hide resolved
We should probably also store the information whether this is a data flow or a control dependence edge in the PDG edge |
…s function to add the PropertyEdge to both nodes which makes addAllNextPDGEdges unnecessary
We decided that the direction of the dependence edges should be the same as the direction of the flow edges |
I added a new edge Property called DEPENDENCE and a new enum class to differentiate between the dependence types |
Kudos, SonarCloud Quality Gate passed! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The tests follow a bit „unusual“ convention, with compared to the rest of the project but this seems to be ok
This PR adds the Program Dependence Graph (PDG). A new pass is introduced which collects the DFG and CDG edges of each node to create its PDG edges.